package jmine.tec.aom.domain;

import java.util.Set;

/**
 * Common interface for classes that provide access to a collection of {@link Property}.
 * 
 * @author jrenaut
 */
public interface PropertyProvider {

    /**
     * @return the {@link Set} of all {@link Property}
     */
    Set<Property> getProperties();

    /**
     * @param name the name of the {@link Property}
     * @return the {@link Property} if found on this {@link PropertyProvider}
     */
    Property getPropertyByName(String name);

    /**
     * @param mnemonic the mnemonic if the {@link Property}
     * @return the {@link Property} if found on this {@link PropertyProvider}
     */
    Property getPropertyByMnemonic(String mnemonic);
}
